A computer system may include applications that are released and able to run on various combinations of database systems, operating systems, virtualization layers and cloud services, such as Infrastructure-as-a-Service (“IaaS”). Various infrastructure components of the computer system may be instrumented and monitored to help keep business processes up and running. While a snapshot of current monitoring data may provide a relatively good impression of current system behavior, monitoring data history for a relatively long period of time may better help determine how the behavior of the computer system changes over time. For example, a monitoring data history of more than one year may be maintained, which might add up to several 100 Giga-Bytes (“GB”) of raw data for various elements of the computer system. Moreover, a centralized monitoring solution may store monitoring data history for many different computer systems, which will further increase the amount of data that needs to be stored, and may also cause replicated events and alerts to occur. Keeping such a substantial amount of data may be expensive and increase the Total Cost of Ownership (“TCO”) of computer systems. Further, attempting to install monitoring code locally at each computer system may be impractical if there is resistance to the idea of updating the monitoring code relatively frequently (to support changes that are made to database versions, operating systems, hardware, etc.). Moreover, in many cases updating software functionality requires a temporary unavailability of that particular functionality because the runtime system may need to be re-initialized before the updated functionality can be utilized. Even when this period of unavailability is relatively short, it may be inconvenient for end users. Instead, end users would prefer to avoid downtime and have the prior version remain fully available until the updated functionality is ready. Further, the switch from the old version to the updated functionality should be as seamless as possible and switchable by an end user.